﻿unit UDict;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, AdvNavBar, Vcl.StdCtrls,
  Vcl.ComCtrls, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters,
  dxSkinsCore, dxSkinOffice2007Blue, dxSkinscxPCPainter, cxPCdxBarPopupMenu,
  cxPC, cxSplitter, UFrameCountry, UFrameType, UFrameProduct, UFramePlant,
  UFrameSort, UFrameLength, UFrameProperties, dxSkinsdxNavBarPainter,
  dxNavBarCollns, cxClasses, dxNavBarBase, dxNavBar, UFrameOrg, UFrameUsers,
  UFrameClient, UFrameRole, UFrameKargo, UFrameAirLine, UFrameTrack,
  UFramePricooling, UFrameMarking, UFrameStanding, UFramePriceLength;

type
  TFDict = class(TForm)
    PageDict: TcxPageControl;
    TabCountry: TcxTabSheet;
    TabType: TcxTabSheet;
    cxspltr1: TcxSplitter;
    FrameCountry1: TFrameCountry;
    FrameType1: TFrameType;
    TabPlant: TcxTabSheet;
    TabSort: TcxTabSheet;
    TabStract: TcxTabSheet;
    TabProduct: TcxTabSheet;
    FrameProduct1: TFrameProduct;
    FramePlant1: TFramePlant;
    TabLength: TcxTabSheet;
    FrameLength1: TFrameLength;
    TabProperties: TcxTabSheet;
    FrameProperties1: TFrameProperties;
    dxnvbr1: TdxNavBar;
    GroupОснова: TdxNavBarGroup;
    ItemТовары: TdxNavBarItem;
    GroupСтруктура: TdxNavBarGroup;
    ItemСтраны: TdxNavBarItem;
    ItemТипы: TdxNavBarItem;
    ItemСвойства: TdxNavBarItem;
    ItemПлантации: TdxNavBarItem;
    ItemСорта: TdxNavBarItem;
    GroupОрг: TdxNavBarGroup;
    ItemОрганизация: TdxNavBarItem;
    TabOrg: TcxTabSheet;
    FrameOrg1: TFrameOrg;
    GroupАдмин: TdxNavBarGroup;
    ItemПользователи: TdxNavBarItem;
    TabUsers: TcxTabSheet;
    FrameUsers1: TFrameUsers;
    ItemКлиент: TdxNavBarItem;
    TabClient: TcxTabSheet;
    FrameClient1: TFrameClient;
    TabРоли: TcxTabSheet;
    FrameRole1: TFrameRole;
    ItemРоль: TdxNavBarItem;
    ItemКарго: TdxNavBarItem;
    TabКарго: TcxTabSheet;
    FrameKargo1: TFrameKargo;
    ItemАвиалинии: TdxNavBarItem;
    TabАвиалинии: TcxTabSheet;
    FrameAirLine1: TFrameAirLine;
    ItemТраки: TdxNavBarItem;
    TabТраки: TcxTabSheet;
    FrameTrack1: TFrameTrack;
    TabPricooling: TcxTabSheet;
    FrameProcooling1: TFrameProcooling;
    ItemPricooling: TdxNavBarItem;
    ItemМаркировки: TdxNavBarItem;
    TabМарикровки: TcxTabSheet;
    FrameMarking1: TFrameMarking;
    GroupТорг: TdxNavBarGroup;
    ItemСтендинг: TdxNavBarItem;
    TabСтендинг: TcxTabSheet;
    FrameStanding1: TFrameStanding;
    FrameSort1: TFrameSort;
    ItemПоставщики: TdxNavBarItem;
    TabПоставщики: TcxTabSheet;
    FrameSupplier: TFrameClient;
    ItemPrice: TdxNavBarItem;
    TabPrice: TcxTabSheet;
    FramePriceLength1: TFramePriceLength;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FrameSort1ViewUsersDblClick(Sender: TObject);
    procedure FrameTopPanel1btnDelClick(Sender: TObject);
    procedure ItemКлиентClick(Sender: TObject);
    procedure ItemСтраныClick(Sender: TObject);
    procedure ItemОрганизацияClick(Sender: TObject);
    procedure ItemПлантацииClick(Sender: TObject);
    procedure ItemТоварыClick(Sender: TObject);
    procedure ItemСвойстваClick(Sender: TObject);
    procedure ItemСортаClick(Sender: TObject);
    procedure ItemТипыClick(Sender: TObject);
    procedure ItemПользователиClick(Sender: TObject);
    procedure FrameClient1edtOrgPropertiesEditValueChanged(Sender: TObject);
    procedure FrameClient1ViewStatWorkDblClick(Sender: TObject);
    procedure FrameOrg1ViewStatWorkDblClick(Sender: TObject);
    procedure FrameRole1ViewUsersDblClick(Sender: TObject);
    procedure FrameStanding1ViewUsersDblClick(Sender: TObject);
    procedure FrameUsers1ViewStatWorkDblClick(Sender: TObject);
    procedure ItemPriceClick(Sender: TObject);
    procedure ItemPricoolingClick(Sender: TObject);
    procedure ItemАвиалинииClick(Sender: TObject);
    procedure ItemКаргоClick(Sender: TObject);
    procedure ItemМаркировкиClick(Sender: TObject);
    procedure ItemПоставщикиClick(Sender: TObject);
    procedure ItemРольClick(Sender: TObject);
    procedure ItemСтендингClick(Sender: TObject);
    procedure ItemТракиClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FDict: TFDict;

implementation

{$R *.dfm}

uses UPasswd, UOsn, USplash;

procedure TFDict.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  FDict := nil;
end;

procedure TFDict.FormCreate(Sender: TObject);
var
  a: array [0 .. 255] of Char;
  StrTblOfs: Integer;
begin
  //
  case FPasswd.Lang of
    1:
      begin
        Caption := 'Directories';
        ItemТовары.Caption := 'Nomenclature';
        ItemКлиент.Caption := 'Clients';
        ItemСтраны.Caption := 'Country';
        ItemТипы.Caption := 'Types';
        ItemСвойства.Caption := 'Properties';
        ItemПлантации.Caption := 'Plantation';
        ItemСорта.Caption := 'Grades';
        ItemОрганизация.Caption := 'Organization';
        ItemПользователи.Caption := 'Users';
        ItemРоль.Caption := 'The role';
        GroupОснова.Caption := 'Main';
        GroupСтруктура.Caption := 'Structure';
        GroupОрг.Caption := 'Organization';
        GroupАдмин.Caption := 'Administration';
        ItemКарго.Caption := 'Cargo';
        ItemАвиалинии.Caption := 'Airlines';
      end;
    2:
      begin
        Caption := 'Guías';
        ItemТовары.Caption := 'Nomenclatura';
        ItemКлиент.Caption := 'Clientes';
        ItemСтраны.Caption := 'Países';
        ItemТипы.Caption := 'Tipos';
        ItemСвойства.Caption := 'Propiedades';
        ItemПлантации.Caption := 'Fincas';
        ItemСорта.Caption := 'Variedades';
        ItemРоль.Caption := 'Papeles';
        ItemОрганизация.Caption := 'Organizaciones';
        ItemПользователи.Caption := 'Usuarios';
        GroupОснова.Caption := 'Básicos';
        GroupСтруктура.Caption := 'Estructura';
        GroupОрг.Caption := 'Organización';
        GroupАдмин.Caption := 'Administración';
        ItemКарго.Caption := 'Agencias cargo';
        ItemАвиалинии.Caption := 'Aerolineas';
      end;
  end;
  // case FPasswd.Lang of
  // 0:
  // StrTblOfs := 0;
  // 1:
  // StrTblOfs := 1000;
  // 2:
  // StrTblOfs := 2000;
  // end;
  // if LoadString(hInstance, StrTblOfs + 9, @a, sizeof(a)) <> 0 then
  // Caption := StrPas(a);
  // if LoadString(hInstance, StrTblOfs + 15, @a, sizeof(a)) <> 0 then
  // PanelOsn.Caption := StrPas(a);
  // if LoadString(hInstance, StrTblOfs + 16, @a, sizeof(a)) <> 0 then
  // PanelStruct.Caption := StrPas(a);
  // if LoadString(hInstance, StrTblOfs + 17, @a, sizeof(a)) <> 0 then
  // lstStruct.Items[0] := StrPas(a);
  // if LoadString(hInstance, StrTblOfs + 18, @a, sizeof(a)) <> 0 then
  // lstStruct.Items[1] := StrPas(a);
  // if LoadString(hInstance, StrTblOfs + 19, @a, sizeof(a)) <> 0 then
  // lstStruct.Items[2] := StrPas(a);
  // if LoadString(hInstance, StrTblOfs + 20, @a, sizeof(a)) <> 0 then
  // lstStruct.Items[3] := StrPas(a);
  // if LoadString(hInstance, StrTblOfs + 16, @a, sizeof(a)) <> 0 then
  // lstStruct.Items[4] := StrPas(a);
  // if LoadString(hInstance, StrTblOfs + 16, @a, sizeof(a)) <> 0 then
  // lstStruct.Items[4] := StrPas(a);
end;

procedure TFDict.FormShow(Sender: TObject);
var
  i: Integer;
begin
  PageDict.ActivePageIndex := 0;
  PageDict.HideTabs := True;
end;

procedure TFDict.FrameClient1edtOrgPropertiesEditValueChanged(Sender: TObject);
begin
  FrameClient1.ShowClients();
end;

procedure TFDict.FrameClient1ViewStatWorkDblClick(Sender: TObject);
begin
  FrameClient1.ViewStatWorkDblClick(Sender);
end;

procedure TFDict.FrameOrg1ViewStatWorkDblClick(Sender: TObject);
begin
  FrameOrg1.ViewStatWorkDblClick(Sender);
end;

procedure TFDict.FrameRole1ViewUsersDblClick(Sender: TObject);
begin
  FrameRole1.btnEditClick(Sender);
end;

procedure TFDict.FrameSort1ViewUsersDblClick(Sender: TObject);
begin
  FrameSort1.ViewUsersDblClick(Sender);
end;

procedure TFDict.FrameStanding1ViewUsersDblClick(Sender: TObject);
begin
  FrameStanding1.FrameTopPanel1.btnEdit.Click;
end;

procedure TFDict.FrameTopPanel1btnDelClick(Sender: TObject);
begin
  FrameProduct1.btnDelClick(Sender);
end;

procedure TFDict.FrameUsers1ViewStatWorkDblClick(Sender: TObject);
begin
  FrameUsers1.ViewStatWorkDblClick(Sender);
end;

procedure TFDict.ItemPriceClick(Sender: TObject);
begin
   { прайс }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 19;
  with FramePriceLength1 do
  begin

    // SetLang;
    if QueryPriceL.Active = false then
    begin
      ShowPriceL();
    end;
  end;
end;

procedure TFDict.ItemPricoolingClick(Sender: TObject);
begin
  { прикулинг }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 15;
  with FrameProcooling1 do
  begin
    FrameTopPanel1.SetLang;
    // SetLang;
    if QueryPricooling.Active = false then
    begin
      ShowPricooling();
    end;
  end;
end;

procedure TFDict.ItemАвиалинииClick(Sender: TObject);
begin
  { авиалинии }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 13;
  with FrameAirLine1 do
  begin
    FrameTopPanel1.SetLang;
    SetLang;
    if QueryAirLine.Active = false then
    begin
      ShowAirLine();
    end;
  end;
end;

procedure TFDict.ItemКаргоClick(Sender: TObject);
begin
  { карго }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 12;
  with FrameKargo1 do
  begin
    FrameTopPanel1.SetLang;
    // SetLang;
    if QueryKargo.Active = false then
    begin
      ShowKargo();
    end;
  end;
end;

procedure TFDict.ItemКлиентClick(Sender: TObject);
begin
  { клиенты }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 10;
  with FrameClient1 do
  begin
    FrameTopPanel1.SetLang;
    // SetLang;
    if QueryClient.Active = false then
    begin
      s_id_type := '1';
      ShowOrg();
      // ShowClients();
    end;
  end;
end;

procedure TFDict.ItemМаркировкиClick(Sender: TObject);
begin
  { маркировки }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 16;
  with FrameMarking1 do
  begin
    FrameTopPanel1.SetLang;
    // SetLang;
    if QueryMarking.Active = false then
    begin
      ShowMarking();
    end;
  end;
end;

procedure TFDict.ItemСтраныClick(Sender: TObject);
begin
  { страны }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 0;
  with FrameCountry1 do
  begin
    FrameTopPanel1.SetLang;
    SetLang;
    if QueryCountry.Active = false then
      ShowCountry();
  end;
end;

procedure TFDict.ItemОрганизацияClick(Sender: TObject);
begin
  { организации }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 8;
  with FrameOrg1 do
  begin
    FrameTopPanel1.SetLang;
    SetLang;
    if QueryOrg.Active = false then
    begin
      ShowOrg();
    end;
  end;
end;

procedure TFDict.ItemПлантацииClick(Sender: TObject);
begin
  { плантации }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 2;
  with FramePlant1 do
  begin
    FrameTopPanel1.SetLang;
    SetLang;
    if QueryCountry.Active = false then
    begin
      ShowCountry();
      ShowPlant();
    end;
  end;
end;

procedure TFDict.ItemТоварыClick(Sender: TObject);
begin
  { товары }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 5;
  with FrameProduct1 do
  begin
    FrameTopPanel1.SetLang;
    // SetLang;
    if QueryProduct.Active = false then
      ShowProduct();
    case FPasswd.edtLang.ItemIndex of
      0:
        ColumnName.DataBinding.FieldName := 'name';
      1:
        ColumnName.DataBinding.FieldName := 'uni_name';
      2:
        ColumnName.DataBinding.FieldName := 'reg_name';
    end;
  end;
end;

procedure TFDict.ItemСвойстваClick(Sender: TObject);
begin
  { свойства }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 7;
  with FrameProperties1 do
  begin
    FrameTopPanel1.SetLang;
    SetLang;
    if QueryProperties.Active = false then
    begin
      ShowType;
      ShowPropeties();
    end;
  end;
end;

procedure TFDict.ItemСортаClick(Sender: TObject);
begin
  { сорта }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 3;
  with FrameSort1 do
  begin
    FrameTopPanel1.SetLang;
    SetLang;
    if QueryCountry.Active = false then
    begin
      ShowCountry();
      ShowSort();
    end;
  end;
end;

procedure TFDict.ItemТипыClick(Sender: TObject);
begin
  { типы }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 1;
  with FrameType1 do
  begin
    FrameTopPanel1.SetLang;
    SetLang;
    if QueryType.Active = false then
      ShowType();
  end;
end;

procedure TFDict.ItemПользователиClick(Sender: TObject);
begin
  { пользователи }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 9;
  with FrameUsers1 do
  begin
    FrameTopPanel1.SetLang;
    // SetLang;
    if QueryOrg.Active = false then
      ShowOrg();
  end;
end;

procedure TFDict.ItemПоставщикиClick(Sender: TObject);
begin
 { поставщики }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 18;
  with FrameSupplier do
  begin
    FrameTopPanel1.SetLang;
    // SetLang;
    if QueryClient.Active = false then
    begin
      s_id_type := '2';
      ShowOrg();
      // ShowClients();
    end;
  end;
end;

procedure TFDict.ItemРольClick(Sender: TObject);
begin
  { роли }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 11;
  with FrameRole1 do
  begin
    FrameTopPanel1.SetLang;
    SetLang;
    if QueryRole.Active = false then
    begin
      ShowRole();
    end;
  end;
end;

procedure TFDict.ItemСтендингClick(Sender: TObject);
begin
  { стендинг }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 17;
  with FrameStanding1 do
  begin
    FrameTopPanel1.SetLang;
    SetLang;
    if QueryStanding.Active = false then
    begin
      ShowStanding();
    end;
  end;
end;

procedure TFDict.ItemТракиClick(Sender: TObject);
begin
  { траки }
  PageDict.Visible := True;
  PageDict.ActivePageIndex := 14;
  with FrameTrack1 do
  begin
    FrameTopPanel1.SetLang;
    // SetLang;
    if QueryTrack.Active = false then
    begin
      ShowTrack();
    end;
  end;
end;

end.
